<?php namespace Home\Controller; 
use Hdphp\Controller\Controller;
//购物车控制器
/*
 *
 *	Cart::update($data);    更新购物车需要传入商品的唯一 SID，同时传入更新的商品数量，
 *  Cart::getGoods();       购物车中商品数据
 *  Cart::getAllData();     购物车所有商品数据
 *  Cart::flush();          清空购物车
 *  Cart::getTotalPrice();  获得商品总价格
 *  Cart::getTotalNums();   统计购物车中的商品数量
 *  Cart::getOrderId();     获得定单号Cart::getOrderId()
 * 
 */
class CartController extends Controller{
	//构造函数
	public function __init()
	{
		parent::__init();
	}
	//我的购物车
    public function index(){
    	//p($_SESSION['cart']['goods']);
    	$cartData = $_SESSION['cart']['goods'];
		foreach($cartData as $k=>$v){
			$cartData[$k]['subTotal'] = $v['price']*$v['num'];//小计
		}
		//p($cartData);
		View::with('cartData',$cartData);
        View::make();
    }
	
	//接收异步请求——计算小计
	public function ajaxsubTotal(){
		$subTotal = Q('post.subTotal');
		$data = $_SESSION['cart']['goods'];
		foreach($data as $k=>$v){
			$data[$k]['subTotal'] = $v['price']*$v['num'];//小计
		}
		if($data){
			echo json_encode($data);exit; 
		}else{
			echo json_encode(false);exit;
		}
	}
	
	//=======1.接收异步请求——计算库存数  //测试 ：在cate_id=19&goods_id=15  这个商品的详细页面里 点击 尺码 L 颜色 黑色   开始=======
	public function ajaxStock(){ 
		//得到ID 因为是type:"post" 提交方式, 所以这边 接是 Q('post.')
		$res = Q('post.res');
		//p($res);	
		//p出来的结果：57,60
		//调 货品列表数据信息  数据库
		$model = new \Common\Model\Cargo;
		//注意：{$res}是字符串 必须加''
		$data = $model->where("spec='{$res}'")->find();
		if($data){
			echo json_encode($data);exit; 
		}else{
			//返出的false 前端页面js可以接到 。如果不写 这个if体，做数据的判断，直接 json 输出，当没有数据输出是null。js的否是不是null。就卡住了，判断不了。这点也有注意！
			echo json_encode(false);exit;
		}
	}
	//=======接收异步请求——计算库存数  //测试 ：在cate_id=19&goods_id=15  这个商品的详细页面里 点击 尺码 L 颜色 黑色   结束=======
	
	//=======2.商品详情指定数据项 异步提交发送到我的购物车页   开始=======
	public function addCart(){
		
		//$data = Q('post.');
		//p($data);//非常重要：这个p测试后，必须注释掉。否则 下面的json 走不掉。有数据输出，点击按钮没有反应！！！
		
		/*
		 * id和name前面的都是固定的，不能改
		 * id name num price 是固定的,键名 不能改，必须这样写。
		 * 自定义的写在options里面 options里的 键名可以自由定义。
		 */
		$data = array(
		    'id'        => Q('post.id'),  // 商品 ID 
		    'name'      => Q('post.name'),// 商品名称 
		    'num'       => Q('post.num'), // 商品数量 
		    'price'     => Q('post.sprice'), // 商城价
		    'options' => array(
		    			'pic'    => Q('post.pic'),
					    'mprice' => Q('post.mprice'),   // 市场价
		    			'color'  => Q('post.color'), // 颜色
		    			'size'   => Q('post.size')   // 尺寸
						
			)	
		); 
		
		// 添加到 购物车
		Cart::add($data); 
		//p($_SESSION['cart']['goods']); 
		
		echo json_encode($data);exit;//注意2点：1.必须exit掉。 2.json之前不能有任何输出，否则json没反应！！！切记！
		//View::ajax($data);
	}
	//=======商品详情指定数据项 异步提交发送到我的购物车页    结束=======
	
	
	//删除购物车中商品
	public function del(){
		$gid = Q();
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
}